package club.janna.hello.session.dao;

import club.janna.hello.session.Session;

import java.util.Map;
import java.util.Set;

/**
 * Session 数据访问对象接口
 * Created by guopanbo on 18/2/7.
 */
public interface SessionDao {

    /**
     * 通过id获取session
     * @param id
     * @return
     */
    Session getSessionById(String id);

    /**
     * 获取所有的id
     * @return
     */
    Set<String> listKeys();

    /**
     * 获取所有session
     * @return
     */
    Set<Session> getSessions();

    /**
     * 存入session
     * @param id
     * @param session
     */
    void putSession(String id, Session session);

    /**
     * 存入集合
     * @param map
     */
    void putAll(Map<String, Session> map);

    /**
     * 通过id移除session
     * @param id
     */
    void remove(String id);
}
